package com.example.makerspace.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.makerspace.mapper.MybatisListHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


@EqualsAndHashCode(callSuper = true)
@Data
@TableName(value = "t_agency_product_relationships", autoResultMap = true)
@Document(indexName = "t_agency_product_relationships")
public class AgencyProductRelationshipsDO extends  BaseDO{
    @ApiModelProperty(value = "用户名称", required = true)
    @Field(name = "username", type = FieldType.Text, analyzer="ik_max_word")
    private  String username;
    @ApiModelProperty(value = "产品压缩包", required = true)
    @Field(name = "product_package", type = FieldType.Text, analyzer="ik_max_word")
    private  String productPackage;
    @ApiModelProperty(value = "状态", required = true)
    @Field(name = "state", type = FieldType.Text, analyzer="ik_max_word")
    private  String state;
    @ApiModelProperty(value = "文件大小", required = true)
    @Field(name = "file_size", type = FieldType.Text, analyzer="ik_max_word")
    private  String fileSize;
    @ApiModelProperty(value = "公司名称", required = true)
    @Field(name = "ent_name", type = FieldType.Text, analyzer="ik_max_word")
    private  String entName;
    @ApiModelProperty(value = "头像", required = true)
    @Field(name = "avatar", type = FieldType.Text, analyzer="ik_max_word")
    private  String avatar;
    @TableField(typeHandler = MybatisListHandler.class)
    @ApiModelProperty(value = "代理授权说明书", required = true)
    @Field(name = "agent_manual", type = FieldType.Text, analyzer="ik_max_word")
    private List<String> agentManual;
    @ApiModelProperty(value = "公司介绍", required = true)
    @Field(name = "company_introduction", type = FieldType.Text, analyzer="ik_max_word")
    private  String companyIntroduction;
    @Field(name = "product_name", type = FieldType.Text, analyzer="ik_max_word")
    private  String productName;
    @Field(name = "product_state", type = FieldType.Text, analyzer="ik_max_word")
    private  String productState;
    @Field(name = "product_Id", type = FieldType.Text, analyzer="ik_max_word")
    private  Integer productId;
    @Field(name = "remark", type = FieldType.Text, analyzer="ik_max_word")
    private  String remark;
    @Field(name = "product_Introduction", type = FieldType.Text, analyzer="ik_max_word")
    private  String productIntroduction;
    @TableField(typeHandler = MybatisListHandler.class)
    @Field(name = "deadline", type = FieldType.Text, analyzer="ik_max_word")
    private  List<String> deadline;

}
